home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1999-06-25 | 13.8 KB | [CWWP/BOBO] |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
You can browse this item here: FIFO Patent Hack
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| ClarisWorks/AppleWorks Document (document/clarisWorks)
| magic
| Supported |
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Fri Jun 25 07:57:42 1999, modified Fri Jun 25 12:35:05 1999, creator Apple Works, type 'CWWP', 13021 bytes "FIFO Patent Hack" AppleWorks/ClarisWorks CWK Document, version 5, 792x612, at 0x335d 802 bytes resource AppleWorks/ClarisWorks CWK Document, version 5, 792x612
| default (weak)
| |
99%
| file
| data
| default
| |
83%
| TrID
| Claris Works text (MacBinary)
| default
| |
16%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [CWWP] |
macFileCreator | [BOBO] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 10 46 49 46 4f 20 50 | 61 74 65 6e 74 20 48 61 |..FIFO P|atent Ha|
|00000010| 63 6b 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |ck......|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 43 57 57 50 42 4f 42 | 4f 01 00 00 00 00 00 00 |.CWWPBOB|O.......|
|00000050| 00 00 00 00 00 32 dd 00 | 00 03 22 b3 99 1f 36 b3 |.....2..|.."...6.|
|00000060| 99 60 39 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.`9.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 10 e8 00 00 |........|........|
|00000080| 05 07 a6 00 42 4f 42 4f | 05 07 a6 00 00 00 00 00 |....BOBO|........|
|00000090| 00 00 00 00 00 01 04 1d | a3 20 00 00 00 00 03 18 |........|. ......|
|000000a0| 02 64 00 48 00 36 00 48 | 00 24 00 48 00 36 02 d0 |.d.H.6.H|.$.H.6..|
|000000b0| 02 40 01 00 00 01 00 00 | 00 00 00 00 00 00 00 00 |.@......|........|
|000000c0| 00 00 00 00 00 00 00 00 | 01 00 00 02 00 02 00 00 |........|........|
|000000d0| 04 1d a2 90 00 00 00 00 | 00 05 ff ff 00 00 00 00 |........|........|
|000000e0| 00 01 01 01 00 00 00 48 | 00 00 00 08 00 00 00 01 |.......H|........|
|000000f0| 00 00 00 01 04 1d a2 94 | 00 00 00 00 02 02 00 00 |........|........|
|00000100| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 01 00 00 |........|........|
|00000110| 40 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |@.......|........|
|00000120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000140| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000150| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000170| 00 00 00 00 00 03 00 00 | 24 01 ff ff 00 00 00 00 |........|$.......|
|00000180| 00 00 00 00 00 00 00 00 | 04 1d a3 1c 01 01 00 00 |........|........|
|00000190| 00 00 00 00 00 00 03 ff | 01 00 01 00 00 02 00 02 |........|........|
|000001a0| 00 00 00 00 00 00 00 00 | 00 01 01 01 00 01 00 01 |........|........|
|000001b0| 00 2d 01 00 01 00 01 00 | 00 00 00 5a 00 00 00 12 |.-......|...Z....|
|000001c0| 00 00 00 00 00 06 01 00 | 00 00 00 01 00 01 00 00 |........|........|
|000001d0| 00 05 00 04 7f ff ff ff | 00 00 00 11 10 46 49 46 |........|.....FIF|
|000001e0| 4f 20 50 61 74 65 6e 74 | 20 48 61 63 6b 00 00 00 |O Patent| Hack...|
|000001f0| 00 00 00 00 00 00 00 00 | 0c 0b 4d 61 72 6b 20 52 |........|..Mark R|
|00000200| 75 73 74 61 64 00 00 00 | 00 00 00 00 0c 0b 70 61 |ustad...|......pa|
|00000210| 74 65 6e 74 20 46 49 46 | 4f 00 00 00 00 00 00 01 |tent FIF|O.......|
|00000220| a1 00 00 00 66 00 01 ff | ff 00 00 00 42 00 18 00 |....f...|....B...|
|00000230| 02 4c 4f 4d 21 00 00 00 | 00 00 00 00 00 00 00 00 |.LOM!...|........|
|00000240| 00 00 00 00 00 00 00 01 | 01 01 60 00 01 00 00 00 |........|..`.....|
|00000250| 00 00 34 f5 ca 00 00 00 | 00 00 00 00 00 00 00 00 |..4.....|........|
|00000260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000270| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000280| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000290| 00 00 00 00 00 00 00 00 | 00 03 ff 01 00 01 00 00 |........|........|
|000002a0| 02 00 02 00 00 00 00 00 | 00 00 00 05 00 00 00 00 |........|........|
|000002b0| 78 01 00 00 50 00 48 00 | 48 00 00 00 00 02 da 02 |x...P.H.|H.......|
|000002c0| 28 ff e1 ff e2 02 f9 02 | 46 50 00 05 28 03 fc 00 |(.......|FP..(...|
|000002d0| 01 00 50 00 48 00 48 00 | 00 00 00 02 da 02 28 00 |..P.H.H.|......(.|
|000002e0| 00 00 00 00 64 00 00 00 | 00 00 00 00 00 00 00 00 |....d...|........|
|000002f0| 01 27 0f 00 01 00 01 00 | 00 00 00 00 00 00 00 00 |.'......|........|
|00000300| 00 00 00 00 12 00 00 02 | 64 00 00 03 18 00 00 00 |........|d.......|
|00000310| 00 22 72 00 01 00 01 00 | 03 00 02 00 00 00 01 00 |."r.....|........|
|00000320| 00 00 00 fe 5c 01 00 00 | 00 00 00 00 00 00 00 00 |....\...|........|
|00000330| 00 00 00 00 1e 00 00 ff | ff 00 00 00 04 00 12 00 |........|........|
|00000340| 01 00 05 00 00 00 00 01 | 00 01 01 00 00 01 00 00 |........|........|
|00000350| 00 00 00 04 1d f3 80 01 | 01 00 00 00 01 00 04 00 |........|........|
|00000360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 02 00 |........|........|
|00000370| 00 00 01 00 04 00 00 00 | 04 00 00 00 00 00 00 00 |........|........|
|00000380| 00 00 00 00 01 01 86 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000390| 00 00 00 00 00 00 00 00 | 00 00 00 02 6c 00 00 0c |........|....l...|
|000003a0| 80 00 00 00 2f 00 01 00 | 01 00 c0 02 63 00 00 00 |..../...|....c...|
|000003b0| 00 00 00 01 e5 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003d0| 00 04 1d a2 9c 00 00 00 | 00 00 00 00 00 04 1d a1 |........|........|
|000003e0| f4 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000400| 00 00 15 00 36 00 2f 02 | 40 00 00 00 00 00 00 00 |....6./.|@.......|
|00000410| 00 00 00 00 00 00 00 00 | 00 00 15 00 36 00 2f 02 |........|....6./.|
|00000420| 40 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |@.......|........|
|00000430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000450| 00 00 00 00 00 04 1b e6 | e0 00 00 00 00 00 00 00 |........|........|
|00000460| 00 01 e5 02 63 00 01 00 | 00 01 00 00 00 00 01 00 |....c...|........|
|00000470| 00 01 00 00 00 00 00 00 | 00 00 00 00 00 04 1d f7 |........|........|
|00000480| f0 00 00 00 00 04 1c c2 | cc 0b 00 00 00 00 00 00 |........|........|
|00000490| 00 00 00 00 00 00 00 00 | 01 00 10 00 00 00 00 00 |........|........|
|000004a0| 00 04 1d a2 a4 00 00 34 | b4 00 00 00 00 00 00 00 |.......4|........|
|000004b0| 00 00 00 00 00 ff ff ff | ff ff ff ff ff 00 5d 00 |........|......].|
|000004c0| 06 02 51 02 78 00 06 44 | 53 45 54 00 00 00 ae 00 |..Q.x..D|SET.....|
|000004d0| 04 00 00 00 10 00 00 00 | 10 00 00 01 00 00 01 00 |........|........|
|000004e0| 00 00 03 00 00 12 f7 00 | 05 00 77 00 22 00 00 04 |........|..w."...|
|000004f0| 1d a2 78 04 1d a2 80 04 | 1d a2 7c 00 00 00 00 00 |..x.....|..|.....|
|00000500| 00 04 1d a2 60 00 00 00 | 00 02 0a 02 79 04 1d a0 |....`...|....y...|
|00000510| b8 00 23 02 5a 00 00 00 | 00 00 00 00 00 00 00 00 |..#.Z...|........|
|00000520| 00 00 00 00 00 06 98 02 | 0a 02 79 04 1d a0 c0 00 |........|..y.....|
|00000530| 2f 02 52 00 00 00 00 00 | 00 00 01 00 00 00 00 00 |/.R.....|........|
|00000540| 00 00 00 0b 7a 02 0a 02 | 79 04 1d a0 a4 00 2d 02 |....z...|y.....-.|
|00000550| 28 00 00 00 00 00 00 00 | 02 00 00 00 00 00 00 00 |(.......|........|
|00000560| 00 0f 3c 02 0a 02 79 04 | 1d a0 44 00 13 01 1d 00 |..<...y.|..D.....|
|00000570| 00 00 00 00 00 00 03 00 | 00 00 00 00 00 00 00 03 |........|........|
|00000580| b8 00 00 00 00 00 09 00 | 00 00 00 00 11 00 09 00 |........|........|
|00000590| 00 00 00 00 12 00 09 00 | 00 00 00 00 13 00 09 00 |........|........|
|000005a0| 00 00 00 00 22 00 14 00 | 00 00 00 00 23 00 08 00 |...."...|....#...|
|000005b0| 00 00 00 02 80 00 08 00 | 00 00 00 02 81 00 08 00 |........|........|
|000005c0| 00 00 00 03 58 00 08 00 | 00 00 00 03 59 00 08 00 |....X...|....Y...|
|000005d0| 00 00 00 03 a3 00 08 00 | 00 00 00 03 a4 00 0a 00 |........|........|
|000005e0| 00 00 00 03 b0 00 0a 00 | 00 00 00 03 b2 00 0a 00 |........|........|
|000005f0| 00 00 00 03 cb 00 0a 00 | 00 00 00 03 e2 00 0a 00 |........|........|
|00000600| 00 00 00 04 12 00 0a 00 | 00 00 00 04 15 00 14 00 |........|........|
|00000610| 00 00 00 04 16 00 14 00 | 00 00 00 05 b0 00 08 00 |........|........|
|00000620| 00 00 00 05 b1 00 08 00 | 00 00 00 06 98 00 14 00 |........|........|
|00000630| 00 00 00 06 ef 00 14 00 | 00 00 00 06 f0 00 0a 00 |........|........|
|00000640| 00 00 00 06 f3 00 0a 00 | 00 00 00 07 1f 00 0a 00 |........|........|
|00000650| 00 00 00 07 23 00 0a 00 | 00 00 00 07 24 00 0a 00 |....#...|....$...|
|00000660| 00 00 00 07 45 00 0a 00 | 00 00 00 07 47 00 0a 00 |....E...|....G...|
|00000670| 00 00 00 07 55 00 0a 00 | 00 00 00 07 56 00 0a 00 |....U...|....V...|
|00000680| 00 00 00 07 5a 00 0a 00 | 00 00 00 07 5d 00 0a 00 |....Z...|....]...|
|00000690| 00 00 00 07 86 00 0a 00 | 00 00 00 07 87 00 0a 00 |........|........|
|000006a0| 00 00 00 07 a3 00 0a 00 | 00 00 00 07 a7 00 0a 00 |........|........|
|000006b0| 00 00 00 07 e1 00 0a 00 | 00 00 00 07 f1 00 0a 00 |........|........|
|000006c0| 00 00 00 07 f5 00 0a 00 | 00 00 00 07 f6 00 0a 00 |........|........|
|000006d0| 00 00 00 08 1a 00 0a 00 | 00 00 00 08 1b 00 0a 00 |........|........|
|000006e0| 00 00 00 08 4a 00 0a 00 | 00 00 00 08 59 00 0a 00 |....J...|....Y...|
|000006f0| 00 00 00 08 5a 00 0a 00 | 00 00 00 08 7a 00 0a 00 |....Z...|....z...|
|00000700| 00 00 00 08 a5 00 0a 00 | 00 00 00 08 a9 00 0a 00 |........|........|
|00000710| 00 00 00 08 d8 00 0a 00 | 00 00 00 08 fd 00 0a 00 |........|........|
|00000720| 00 00 00 09 01 00 0a 00 | 00 00 00 09 02 00 0a 00 |........|........|
|00000730| 00 00 00 09 3e 00 0a 00 | 00 00 00 09 55 00 0a 00 |....>...|....U...|
|00000740| 00 00 00 09 81 00 0a 00 | 00 00 00 09 91 00 0a 00 |........|........|
|00000750| 00 00 00 09 92 00 0a 00 | 00 00 00 09 9f 00 0a 00 |........|........|
|00000760| 00 00 00 09 a1 00 14 00 | 00 00 00 09 a2 00 14 00 |........|........|
|00000770| 00 00 00 0a 51 00 14 00 | 00 00 00 0a 52 00 14 00 |....Q...|....R...|
|00000780| 00 00 00 0b 7a 00 0a 00 | 00 00 00 0b 7d 00 0a 00 |....z...|....}...|
|00000790| 00 00 00 0b ac 00 0a 00 | 00 00 00 0b b0 00 0a 00 |........|........|
|000007a0| 00 00 00 0b b1 00 0a 00 | 00 00 00 0b c7 00 0a 00 |........|........|
|000007b0| 00 00 00 0b c8 00 0a 00 | 00 00 00 0b ec 00 0a 00 |........|........|
|000007c0| 00 00 00 0b ee 00 0a 00 | 00 00 00 0b fc 00 0a 00 |........|........|
|000007d0| 00 00 00 0b fd 00 0a 00 | 00 00 00 0c 01 00 0a 00 |........|........|
|000007e0| 00 00 00 0c 04 00 0a 00 | 00 00 00 0c 2d 00 0a 00 |........|....-...|
|000007f0| 00 00 00 0c 2e 00 0a 00 | 00 00 00 0c 6c 00 0a 00 |........|....l...|
|00000800| 00 00 00 0c 70 00 0a 00 | 00 00 00 0c aa 00 0a 00 |....p...|........|
|00000810| 00 00 00 0c ba 00 0a 00 | 00 00 00 0c be 00 0a 00 |........|........|
|00000820| 00 00 00 0c bf 00 0a 00 | 00 00 00 0c e3 00 0a 00 |........|........|
|00000830| 00 00 00 0c e4 00 0a 00 | 00 00 00 0d 17 00 0a 00 |........|........|
|00000840| 00 00 00 0d 36 00 0a 00 | 00 00 00 0d 37 00 0a 00 |....6...|....7...|
|00000850| 00 00 00 0d 70 00 0a 00 | 00 00 00 0d 7f 00 0a 00 |....p...|........|
|00000860| 00 00 00 0d 80 00 0a 00 | 00 00 00 0d a0 00 0a 00 |........|........|
|00000870| 00 00 00 0d cb 00 0a 00 | 00 00 00 0d cf 00 0a 00 |........|........|
|00000880| 00 00 00 0d fe 00 0a 00 | 00 00 00 0e 23 00 0a 00 |........|....#...|
|00000890| 00 00 00 0e 27 00 0a 00 | 00 00 00 0e 28 00 0a 00 |....'...|....(...|
|000008a0| 00 00 00 0e 64 00 0a 00 | 00 00 00 0e 7b 00 0a 00 |....d...|....{...|
|000008b0| 00 00 00 0e 8b 00 0a 00 | 00 00 00 0e 8c 00 0a 00 |........|........|
|000008c0| 00 00 00 0e 99 00 0a 00 | 00 00 00 0e 9b 00 14 00 |........|........|
|000008d0| 00 00 00 0e 9c 00 14 00 | 00 00 00 0f 3b 00 14 00 |........|....;...|
|000008e0| 00 00 00 0f 3c 00 14 00 | 00 00 00 0f 68 00 14 00 |....<...|....h...|
|000008f0| 00 00 00 0f 69 00 0a 00 | 00 00 00 0f 97 00 0a 00 |....i...|........|
|00000900| 00 00 00 0f 99 00 0a 00 | 00 00 00 0f bf 00 0a 00 |........|........|
|00000910| 00 00 00 0f c8 00 0a 00 | 00 00 00 0f ca 00 14 00 |........|........|
|00000920| 00 00 00 0f cb 00 14 00 | 00 00 00 12 28 00 14 00 |........|....(...|
|00000930| 00 00 00 12 29 00 14 00 | 00 00 00 01 98 00 00 00 |....)...|........|
|00000940| 00 00 03 00 00 24 01 00 | 10 00 00 00 10 00 03 00 |.....$..|........|
|00000950| 00 24 01 00 0d 00 00 00 | 13 00 03 00 00 18 01 00 |.$......|........|
|00000960| 0f 00 00 00 22 00 00 00 | 00 18 01 00 18 00 00 00 |...."...|........|
|00000970| 23 00 04 00 00 0e 01 00 | 0b 00 00 03 a4 00 05 00 |#.......|........|
|00000980| 00 0c 01 00 13 00 00 03 | b2 00 05 00 00 0c 01 00 |........|........|
|00000990| 16 00 00 04 15 00 04 00 | 00 0e 01 00 19 00 00 05 |........|........|
|000009a0| b0 00 04 00 00 0e 01 00 | 11 00 00 06 98 00 04 00 |........|........|
|000009b0| 00 0e 01 00 19 00 00 06 | b6 00 04 00 00 0e 01 00 |........|........|
|000009c0| 19 00 00 06 f0 00 05 00 | 00 0c 01 00 16 00 00 07 |........|........|
|000009d0| 24 00 05 00 00 0c 01 00 | 16 00 00 07 56 00 05 00 |$.......|....V...|
|000009e0| 00 0c 01 00 16 00 00 08 | 1b 00 05 00 00 0c 01 00 |........|........|
|000009f0| 16 00 00 08 79 00 05 00 | 00 0c 01 00 16 00 00 08 |....y...|........|
|00000a00| ab 00 05 00 00 0c 01 00 | 16 00 00 09 01 00 05 00 |........|........|
|00000a10| 00 0c 01 00 16 00 00 09 | 55 00 05 00 00 0c 01 00 |........|U.......|
|00000a20| 16 00 00 09 9f 00 05 00 | 00 0c 01 00 16 00 00 09 |........|........|
|00000a30| a1 00 04 00 00 0e 01 00 | 19 00 00 0b 79 00 05 00 |........|....y...|
|00000a40| 00 0a 01 00 1a 00 00 0b | 7a 00 05 00 00 0c 01 00 |........|z.......|
|00000a50| 16 00 00 0b b1 00 05 00 | 00 0c 01 00 16 00 00 0b |........|........|
|00000a60| ee 00 05 00 00 0c 01 00 | 16 00 00 0c 04 00 05 00 |........|........|
|00000a70| 00 0c 01 00 16 00 00 0d | 36 00 05 00 00 0c 01 00 |........|6.......|
|00000a80| 16 00 00 0d 80 00 05 00 | 00 0c 01 00 16 00 00 0d |........|........|
|00000a90| fe 00 05 00 00 0c 01 00 | 16 00 00 0e 64 00 05 00 |........|....d...|
|00000aa0| 00 0c 01 00 16 00 00 0e | 99 00 05 00 00 0c 01 00 |........|........|
|00000ab0| 16 00 00 0e 9b 00 04 00 | 00 0e 01 00 19 00 00 0f |........|........|
|00000ac0| 69 00 04 00 00 0e 01 00 | 0c 00 00 0f ca 00 04 00 |i.......|........|
|00000ad0| 00 0e 01 00 19 00 00 00 | 00 00 00 00 32 00 00 00 |........|....2...|
|00000ae0| 00 03 b7 04 1d a2 74 00 | 00 03 b7 03 b1 04 1d a2 |......t.|........|
|00000af0| 70 00 00 07 68 03 b1 04 | 1d a2 6c 00 00 0b 19 03 |p...h...|..l.....|
|00000b00| e3 04 1d a2 68 00 00 0e | fc 03 fc 04 1d a2 64 00 |....h...|......d.|
|00000b10| 00 03 b7 46 49 46 4f 20 | 50 61 74 65 6e 74 20 48 |...FIFO |Patent H|
|00000b20| 61 63 6b 0d 0d 0d 4d 61 | 72 6b 20 44 2e 20 52 75 |ack...Ma|rk D. Ru|
|00000b30| 73 74 61 64 0d 0d 57 68 | 69 6c 65 20 77 6f 72 6b |stad..Wh|ile work|
|00000b40| 69 6e 67 20 66 6f 72 20 | 41 70 70 6c 65 2c 20 49 |ing for |Apple, I|
|00000b50| 20 61 70 70 6c 69 65 64 | 20 66 6f 72 2c 20 61 6e | applied| for, an|
|00000b60| 64 20 77 61 73 20 67 72 | 61 6e 74 65 64 20 74 77 |d was gr|anted tw|
|00000b70| 6f 20 70 61 74 65 6e 74 | 73 2e 20 54 68 65 20 73 |o patent|s. The s|
|00000b80| 65 63 6f 6e 64 20 70 61 | 74 65 6e 74 2c 20 23 35 |econd pa|tent, #5|
|00000b90| 2c 36 37 31 2c 34 34 36 | 2c 20 69 73 20 61 20 6d |,671,446|, is a m|
|00000ba0| 65 74 68 6f 64 20 66 6f | 72 20 61 74 6f 6d 69 63 |ethod fo|r atomic|
|00000bb0| 61 6c 6c 79 20 61 63 63 | 65 73 73 69 6e 67 20 61 |ally acc|essing a|
|00000bc0| 20 46 49 46 4f 20 71 75 | 65 75 65 2e 20 49 74 20 | FIFO qu|eue. It |
|00000bd0| 69 73 20 67 65 6e 65 72 | 61 6c 20 65 6e 6f 75 67 |is gener|al enoug|
|00000be0| 68 20 74 6f 20 70 65 72 | 6d 69 74 20 6d 75 6c 74 |h to per|mit mult|
|00000bf0| 69 70 6c 65 20 65 6e 71 | 75 65 75 65 72 73 20 61 |iple enq|ueuers a|
|00000c00| 6e 64 20 6d 75 6c 74 69 | 70 6c 65 20 64 65 71 75 |nd multi|ple dequ|
|00000c10| 65 75 65 72 73 2e 20 49 | 74 20 61 6c 73 6f 20 77 |euers. I|t also w|
|00000c20| 6f 72 6b 73 20 61 63 72 | 6f 73 73 20 6d 75 6c 74 |orks acr|oss mult|
|00000c30| 69 70 6c 65 20 70 72 6f | 63 65 73 73 6f 72 73 2c |iple pro|cessors,|
|00000c40| 20 69 6e 20 63 6f 6e 6a | 75 6e 63 74 69 6f 6e 20 | in conj|unction |
|00000c50| 77 69 74 68 20 74 69 6d | 65 73 68 61 72 69 6e 67 |with tim|esharing|
|00000c60| 20 73 63 68 65 64 75 6c | 65 72 73 20 61 6e 64 2c | schedul|ers and,|
|00000c70| 20 77 69 74 68 20 61 20 | 6d 69 6e 6f 72 20 6c 69 | with a |minor li|
|00000c80| 6d 69 74 61 74 69 6f 6e | 2c 20 77 69 74 68 20 69 |mitation|, with i|
|00000c90| 6e 74 65 72 72 75 70 74 | 20 72 6f 75 74 69 6e 65 |nterrupt| routine|
|00000ca0| 73 20 63 6f 6d 62 69 6e | 65 64 20 77 69 74 68 20 |s combin|ed with |
|00000cb0| 61 6c 6c 20 6f 66 20 74 | 68 65 20 61 62 6f 76 65 |all of t|he above|
|00000cc0| 20 63 61 73 65 73 2e 20 | 4f 68 2c 20 61 6e 64 20 | cases. |Oh, and |
|00000cd0| 69 74 20 6e 65 76 65 72 | 20 68 61 73 20 74 6f 20 |it never| has to |
|00000ce0| 64 69 73 61 62 6c 65 20 | 69 6e 74 65 72 72 75 70 |disable |interrup|
|00000cf0| 74 73 2e 20 49 74 20 6f | 6e 6c 79 20 72 65 71 75 |ts. It o|nly requ|
|00000d00| 69 72 65 73 20 74 68 65 | 20 65 71 75 69 76 61 6c |ires the| equival|
|00000d10| 65 6e 74 20 6f 66 20 61 | 20 63 6f 6d 70 61 72 65 |ent of a| compare|
|00000d20| 2d 61 6e 64 2d 73 77 61 | 70 20 66 6f 72 20 61 74 |-and-swa|p for at|
|00000d30| 6f 6d 69 63 20 6f 70 65 | 72 61 74 69 6f 6e 73 2e |omic ope|rations.|
|00000d40| 20 50 68 69 6c 69 70 20 | 52 61 6b 69 74 79 20 61 | Philip |Rakity a|
|00000d50| 6e 64 20 49 20 64 65 76 | 65 6c 6f 70 65 64 20 74 |nd I dev|eloped t|
|00000d60| 68 65 20 6f 72 69 67 69 | 6e 61 6c 20 70 61 74 65 |he origi|nal pate|
|00000d70| 6e 74 20 61 6e 64 20 74 | 68 6f 75 67 68 74 20 69 |nt and t|hought i|
|00000d80| 74 20 77 61 73 20 70 72 | 65 74 74 79 20 63 6f 6f |t was pr|etty coo|
|00000d90| 6c 2e 0d 0d 4f 66 20 63 | 6f 75 72 73 65 2c 20 74 |l...Of c|ourse, t|
|00000da0| 68 65 20 70 72 6f 62 6c | 65 6d 20 77 69 74 68 20 |he probl|em with |
|00000db0| 70 61 74 65 6e 74 73 20 | 69 73 20 74 68 61 74 20 |patents |is that |
|00000dc0| 49 20 63 61 6e 6e 6f 74 | 20 75 73 65 20 74 68 69 |I cannot| use thi|
|00000dd0| 73 20 6d 65 74 68 6f 64 | 20 6e 6f 77 20 74 68 61 |s method| now tha|
|00000de0| 74 20 49 20 61 6d 20 6e | 6f 20 6c 6f 6e 67 65 72 |t I am n|o longer|
|00000df0| 20 77 69 74 68 20 41 70 | 70 6c 65 2e 20 45 76 65 | with Ap|ple. Eve|
|00000e00| 6e 20 4d 69 63 72 6f 73 | 6f 66 74 20 63 61 6e 20 |n Micros|oft can |
|00000e10| 75 73 65 20 69 74 2c 20 | 62 75 74 20 49 20 63 61 |use it, |but I ca|
|00000e20| 6e d5 74 2e 20 53 6f 20 | 6e 6f 77 20 69 74 20 77 |n.t. So |now it w|
|00000e30| 6f 75 6c 64 20 62 65 20 | 72 65 61 6c 6c 79 20 63 |ould be |really c|
|00000e40| 6f 6f 6c 20 74 6f 20 77 | 6f 72 6b 20 61 72 6f 75 |ool to w|ork arou|
|00000e50| 6e 64 20 74 68 65 20 70 | 61 74 65 6e 74 20 69 6e |nd the p|atent in|
|00000e60| 20 73 6f 6d 65 20 77 61 | 79 2e 0d 0d 54 68 65 20 | some wa|y...The |
|00000e70| 70 61 74 65 6e 74 65 64 | 20 6d 65 74 68 6f 64 20 |patented| method |
|00000e80| 6d 61 6b 65 73 20 75 73 | 65 20 6f 66 20 61 20 71 |makes us|e of a q|
|00000e90| 75 65 75 65 20 68 65 61 | 64 20 77 69 74 68 20 61 |ueue hea|d with a|
|00000ea0| 20 73 74 72 75 63 74 75 | 72 65 20 6c 69 6b 65 20 | structu|re like |
|00000eb0| 74 68 69 73 3a 0d 0d 73 | 74 72 75 63 74 20 46 49 |this:..s|truct FI|
|00000ec0| 46 4f 0d 7b 0d 09 4f 54 | 4c 69 00 00 03 b1 6e 6b |FO.{..OT|Li....nk|
|00000ed0| 09 2a 20 76 6f 6c 61 74 | 69 6c 65 20 48 65 61 64 |.* volat|ile Head|
|00000ee0| 3b 0d 09 76 6f 6c 61 74 | 69 6c 65 20 4f 54 4c 49 |;..volat|ile OTLI|
|00000ef0| 46 4f 09 4c 49 46 4f 3b | 0d 09 76 6f 6c 61 74 69 |FO.LIFO;|..volati|
|00000f00| 6c 65 20 75 6c 6f 6e 67 | 09 4c 6f 63 6b 3b 09 2f |le ulong|.Lock;./|
|00000f10| 2a 20 54 72 75 65 20 69 | 66 20 46 49 46 4f 20 6c |* True i|f FIFO l|
|00000f20| 6f 63 6b 65 64 20 2a 2f | 0d 7d 3b 0d 0d 54 68 65 |ocked */|.};..The|
|00000f30| 20 6f 6e 6c 79 20 72 65 | 61 6c 20 70 72 6f 62 6c | only re|al probl|
|00000f40| 65 6d 20 77 69 74 68 20 | 74 68 69 73 20 74 79 70 |em with |this typ|
|00000f50| 65 20 6f 66 20 46 49 46 | 4f 20 69 6d 70 6c 65 6d |e of FIF|O implem|
|00000f60| 65 6e 74 61 74 69 6f 6e | 20 69 73 20 74 68 61 74 |entation| is that|
|00000f70| 20 69 66 20 69 74 20 69 | 73 20 74 61 6b 69 6e 67 | if it i|s taking|
|00000f80| 20 74 68 65 20 70 6c 61 | 63 65 20 6f 66 20 61 20 | the pla|ce of a |
|00000f90| 6d 6f 72 65 20 74 72 61 | 64 69 74 69 6f 6e 61 6c |more tra|ditional|
|00000fa0| 20 46 49 46 4f 2c 20 74 | 68 65 20 6e 65 77 20 71 | FIFO, t|he new q|
|00000fb0| 75 65 75 65 20 68 65 61 | 64 20 73 74 72 75 63 74 |ueue hea|d struct|
|00000fc0| 75 72 65 20 77 69 6c 6c | 20 74 61 6b 65 20 6d 6f |ure will| take mo|
|00000fd0| 72 65 20 73 70 61 63 65 | 20 69 6e 20 65 78 69 73 |re space| in exis|
|00000fe0| 74 69 6e 67 20 64 61 74 | 61 20 73 74 72 75 63 74 |ting dat|a struct|
|00000ff0| 75 72 65 73 20 74 68 61 | 74 20 69 6e 63 6c 75 64 |ures tha|t includ|
|00001000| 65 20 71 75 65 75 65 20 | 68 65 61 64 73 2e 20 49 |e queue |heads. I|
|00001010| 6e 20 73 6f 6d 65 20 63 | 61 73 65 73 2c 20 74 68 |n some c|ases, th|
|00001020| 69 73 20 63 61 6e 20 62 | 65 20 61 20 63 72 69 74 |is can b|e a crit|
|00001030| 69 63 61 6c 20 63 6f 6e | 73 69 64 65 72 61 74 69 |ical con|siderati|
|00001040| 6f 6e 2e 20 49 6e 20 61 | 20 63 61 66 66 65 69 6e |on. In a| caffein|
|00001050| 65 20 61 6e 64 20 73 6c | 65 65 70 2d 64 65 70 72 |e and sl|eep-depr|
|00001060| 69 76 65 64 20 73 74 61 | 74 65 20 61 74 20 4d 61 |ived sta|te at Ma|
|00001070| 63 48 61 63 6b 2c 20 49 | 20 63 61 6d 65 20 75 70 |cHack, I| came up|
|00001080| 20 77 69 74 68 20 61 20 | 73 6f 6c 75 74 69 6f 6e | with a |solution|
|00001090| 20 74 6f 20 74 68 69 73 | 20 70 72 6f 62 6c 65 6d | to this| problem|
|000010a0| 20 74 68 61 74 20 61 6c | 73 6f 20 6d 61 79 20 77 | that al|so may w|
|000010b0| 6f 72 6b 20 61 72 6f 75 | 6e 64 20 74 68 65 20 70 |ork arou|nd the p|
|000010c0| 61 74 65 6e 74 2e 0d 0d | 44 49 53 43 4c 41 49 4d |atent...|DISCLAIM|
|000010d0| 45 52 3a 20 49 20 61 6d | 20 6e 6f 74 20 61 20 6c |ER: I am| not a l|
|000010e0| 61 77 79 65 72 2e 20 41 | 6c 74 68 6f 75 67 68 20 |awyer. A|lthough |
|000010f0| 77 68 61 74 20 49 20 70 | 72 65 73 65 6e 74 20 68 |what I p|resent h|
|00001100| 65 72 65 20 6d 61 79 20 | 61 76 6f 69 64 20 69 6e |ere may |avoid in|
|00001110| 66 72 69 6e 67 69 6e 67 | 20 6f 6e 20 74 68 65 20 |fringing| on the |
|00001120| 72 65 66 65 72 65 6e 63 | 65 64 20 70 61 74 65 6e |referenc|ed paten|
|00001130| 74 2c 20 62 75 74 20 69 | 74 20 61 6c 73 6f 20 6d |t, but i|t also m|
|00001140| 61 79 20 6e 6f 74 2e 20 | 4f 72 20 74 68 65 72 65 |ay not. |Or there|
|00001150| 20 6d 69 67 68 74 20 62 | 65 20 73 6f 6d 65 20 6f | might b|e some o|
|00001160| 74 68 65 72 20 70 61 74 | 65 6e 74 2e 20 43 6f 6e |ther pat|ent. Con|
|00001170| 73 69 64 65 72 20 79 6f | 75 72 73 65 6c 66 20 77 |sider yo|urself w|
|00001180| 61 72 6e 65 64 21 20 49 | 66 20 69 74 20 6d 61 74 |arned! I|f it mat|
|00001190| 74 65 72 73 2c 20 63 6f | 6e 73 75 6c 74 20 79 6f |ters, co|nsult yo|
|000011a0| 75 72 20 6f 77 6e 20 6c | 61 77 79 65 72 2e 0b 4f |ur own l|awyer..O|
|000011b0| 6e 20 74 6f 20 61 20 70 | 6f 73 73 69 62 6c 65 20 |n to a p|ossible |
|000011c0| 77 6f 72 6b 2d 61 72 6f | 75 6e 64 2e 20 54 68 65 |work-aro|und. The|
|000011d0| 20 6f 72 69 67 69 6e 61 | 6c 20 64 65 71 75 65 75 | origina|l dequeu|
|000011e0| 65 20 72 6f 75 74 69 6e | 65 20 6c 6f 6f 6b 65 64 |e routin|e looked|
|000011f0| 20 73 6f 6d 65 74 68 69 | 6e 67 20 6c 69 6b 65 20 | somethi|ng like |
|00001200| 74 68 69 73 3a 0d 0d 2f | 2a 0d 20 2a 09 44 65 71 |this:../|*. *.Deq|
|00001210| 75 65 75 65 46 49 46 4f | 20 2d 20 44 65 71 75 65 |ueueFIFO| - Deque|
|00001220| 75 65 20 66 72 6f 6d 20 | 68 65 61 64 20 6f 66 20 |ue from |head of |
|00001230| 46 49 46 4f 2e 0d 20 2a | 2f 0d 0d 4f 54 4c 69 6e |FIFO.. *|/..OTLin|
|00001240| 6b 09 2a 44 65 71 75 65 | 75 65 46 49 46 4f 28 46 |k.*Deque|ueFIFO(F|
|00001250| 49 46 4f 20 2a 70 46 49 | 46 4f 29 0d 7b 0d 09 4f |IFO *pFI|FO).{..O|
|00001260| 54 4c 69 6e 6b 09 2a 74 | 6d 70 3b 0d 0d 09 64 6f |TLink.*t|mp;...do|
|00001270| 0d 09 7b 0d 09 09 2f 2a | 20 45 78 74 72 61 63 00 |..{.../*| Extrac.|
|00001280| 00 03 b1 74 20 65 6c 65 | 6d 65 6e 74 73 20 71 75 |...t ele|ments qu|
|00001290| 65 75 65 64 20 6e 6f 72 | 6d 61 6c 6c 79 20 2a 2f |eued nor|mally */|
|000012a0| 0d 0d 09 09 77 68 69 6c | 65 20 28 74 6d 70 20 3d |....whil|e (tmp =|
|000012b0| 20 70 46 49 46 4f 2d 3e | 4c 69 73 74 29 0d 09 09 | pFIFO->|List)...|
|000012c0| 7b 0d 09 09 09 69 66 20 | 28 4f 54 43 6f 6d 70 61 |{....if |(OTCompa|
|000012d0| 72 65 41 6e 64 53 77 61 | 70 50 74 72 28 74 6d 70 |reAndSwa|pPtr(tmp|
|000012e0| 2c 74 6d 70 2d 3e 66 4e | 65 78 74 2c 20 26 70 46 |,tmp->fN|ext, &pF|
|000012f0| 49 46 4f 2d 3e 4c 69 73 | 74 29 29 0d 09 09 09 09 |IFO->Lis|t)).....|
|00001300| 72 65 74 75 72 6e 20 74 | 6d 70 3b 0d 09 09 7d 0d |return t|mp;...}.|
|00001310| 0d 09 09 2f 2a 20 4e 6f | 20 65 6e 74 72 79 2c 20 |.../* No| entry, |
|00001320| 73 6f 20 63 68 65 63 6b | 20 74 68 65 20 4c 49 46 |so check| the LIF|
|00001330| 4f 20 2a 2f 0d 0d 09 09 | 69 66 20 28 21 4f 54 43 |O */....|if (!OTC|
|00001340| 6f 6d 70 61 72 65 41 6e | 64 53 77 61 70 33 32 28 |ompareAn|dSwap32(|
|00001350| 30 2c 20 31 2c 20 26 70 | 46 49 46 4f 2d 3e 4c 6f |0, 1, &p|FIFO->Lo|
|00001360| 63 6b 29 29 0d 09 09 09 | 72 65 74 75 72 6e 20 6e |ck))....|return n|
|00001370| 69 6c 3b 0d 0d 09 09 2f | 2a 20 49 66 20 73 6f 6d |il;..../|* If som|
|00001380| 65 74 68 69 6e 67 20 69 | 73 20 69 6e 20 4c 49 46 |ething i|s in LIF|
|00001390| 4f 20 2a 2f 0d 09 09 69 | 66 20 28 74 6d 70 20 3d |O */...i|f (tmp =|
|000013a0| 20 4f 54 4c 49 46 4f 53 | 74 65 61 6c 4c 69 73 74 | OTLIFOS|tealList|
|000013b0| 28 26 70 46 49 46 4f 2d | 3e 4c 49 46 4f 29 29 0d |(&pFIFO-|>LIFO)).|
|000013c0| 09 09 7b 0d 09 09 09 2f | 2a 20 52 65 6f 72 64 65 |..{..../|* Reorde|
|000013d0| 72 20 74 68 65 20 4c 49 | 46 4f 20 61 6e 64 20 6d |r the LI|FO and m|
|000013e0| 61 6b 65 20 69 74 20 74 | 68 65 20 46 49 46 4f 20 |ake it t|he FIFO |
|000013f0| 2a 2f 0d 09 09 09 70 46 | 49 46 4f 2d 3e 4c 69 73 |*/....pF|IFO->Lis|
|00001400| 74 20 3d 20 4f 54 52 65 | 76 65 72 73 65 4c 69 73 |t = OTRe|verseLis|
|00001410| 74 28 74 6d 70 29 3b 0d | 09 09 7d 0d 0d 09 09 2f |t(tmp);.|..}..../|
|00001420| 2a 20 45 6e 73 75 72 65 | 73 20 4c 69 73 74 20 69 |* Ensure|s List i|
|00001430| 73 20 77 72 69 74 74 65 | 6e 20 62 61 63 6b 20 62 |s writte|n back b|
|00001440| 65 66 6f 72 65 20 6c 6f | 63 6b 20 69 73 20 63 6c |efore lo|ck is cl|
|00001450| 65 61 72 65 64 20 2a 2f | 0d 09 09 44 6f 53 59 4e |eared */|...DoSYN|
|00001460| 43 49 6e 73 74 72 75 63 | 74 69 6f 6e 28 29 3b 0d |CInstruc|tion();.|
|00001470| 09 09 70 46 49 46 4f 2d | 3e 4c 6f 63 6b 20 3d 20 |..pFIFO-|>Lock = |
|00001480| 30 3b 09 09 09 2f 2a 20 | 52 65 6c 65 61 73 65 20 |0;.../* |Release |
|00001490| 74 68 65 20 6c 6f 63 6b | 20 2a 2f 0d 09 7d 20 77 |the lock| */..} w|
|000014a0| 68 69 6c 65 20 28 74 6d | 70 29 3b 0d 0d 09 72 65 |hile (tm|p);...re|
|000014b0| 74 75 72 6e 20 74 6d 70 | 3b 0d 7d 0d 0d 49 66 20 |turn tmp|;.}..If |
|000014c0| 74 68 65 20 4c 6f 63 6b | 20 66 69 65 6c 64 20 63 |the Lock| field c|
|000014d0| 6f 75 6c 64 20 62 65 20 | 65 6c 69 6d 69 6e 61 74 |ould be |eliminat|
|000014e0| 65 64 2c 20 74 68 65 20 | 71 75 65 75 65 20 68 65 |ed, the |queue he|
|000014f0| 61 64 20 77 6f 75 6c 64 | 20 62 65 20 73 69 6d 70 |ad would| be simp|
|00001500| 6c 79 20 74 77 6f 20 70 | 6f 69 6e 74 65 72 73 2c |ly two p|ointers,|
|00001510| 20 6a 75 73 74 20 6c 69 | 6b 65 20 74 79 70 69 63 | just li|ke typic|
|00001520| 61 6c 20 46 49 46 4f 20 | 69 6d 70 6c 65 6d 65 6e |al FIFO |implemen|
|00001530| 74 61 74 69 6f 6e 73 2e | 20 46 6f 72 74 75 6e 61 |tations.| Fortuna|
|00001540| 74 65 6c 79 20 62 79 20 | 61 70 70 6c 79 69 6e 67 |tely by |applying|
|00001550| 20 61 20 68 61 63 6b 2c | 20 69 74 20 63 61 6e 20 | a hack,| it can |
|00001560| 62 65 20 6d 61 64 65 20 | 73 6f 21 0d 0d 49 66 20 |be made |so!..If |
|00001570| 74 68 65 20 4c 69 73 74 | 20 66 69 65 6c 64 20 69 |the List| field i|
|00001580| 73 20 64 65 66 69 6e 65 | 64 20 74 6f 20 63 6f 6e |s define|d to con|
|00001590| 74 61 69 6e 20 61 20 77 | 65 6c 6c 2d 6b 6e 6f 77 |tain a w|ell-know|
|000015a0| 6e 20 63 6f 6e 73 74 61 | 6e 74 20 74 6f 20 73 69 |n consta|nt to si|
|000015b0| 67 6e 69 66 79 20 74 68 | 61 74 20 74 68 65 20 6c |gnify th|at the l|
|000015c0| 6f 63 6b 20 69 73 20 73 | 65 74 2c 20 77 65 20 68 |ock is s|et, we h|
|000015d0| 61 76 65 20 65 76 65 72 | 79 74 68 69 6e 67 20 77 |ave ever|ything w|
|000015e0| 65 20 6e 65 65 64 2e 20 | 41 73 20 69 74 20 74 75 |e need. |As it tu|
|000015f0| 72 6e 73 20 6f 75 74 2c | 20 74 68 69 73 20 69 73 |rns out,| this is|
|00001600| 20 65 76 65 6e 20 66 61 | 69 72 6c 79 20 63 6f 6e | even fa|irly con|
|00001610| 76 65 6e 69 65 6e 74 20 | 74 6f 20 64 6f 2e 20 53 |venient |to do. S|
|00001620| 69 6e 63 65 20 74 68 65 | 73 65 20 73 74 72 75 63 |ince the|se struc|
|00001630| 74 75 72 65 00 00 03 e3 | 20 73 68 6f 75 6c 64 20 |ture....| should |
|00001640| 61 6c 6c 20 62 65 20 61 | 6c 69 67 6e 65 64 20 61 |all be a|ligned a|
|00001650| 6e 79 77 61 79 2c 20 77 | 65 20 63 61 6e 20 75 73 |nyway, w|e can us|
|00001660| 65 20 74 68 65 20 76 61 | 6c 75 65 20 31 20 74 6f |e the va|lue 1 to|
|00001670| 20 64 65 6e 6f 74 65 20 | 74 68 61 74 20 74 68 65 | denote |that the|
|00001680| 20 46 49 46 4f 20 69 73 | 20 6c 6f 63 6b 65 64 2e | FIFO is| locked.|
|00001690| 20 42 65 68 6f 6c 64 3a | 0b 2f 2a 0d 20 2a 09 4e | Behold:|./*. *.N|
|000016a0| 65 77 44 65 71 75 65 75 | 65 46 49 46 4f 20 2d 20 |ewDequeu|eFIFO - |
|000016b0| 44 65 71 75 65 75 65 20 | 66 72 6f 6d 20 68 65 61 |Dequeue |from hea|
|000016c0| 64 20 6f 66 20 46 49 46 | 4f 2e 0d 20 2a 2f 0d 0d |d of FIF|O.. */..|
|000016d0| 23 64 65 66 69 6e 65 09 | 6b 46 49 46 4f 4c 6f 63 |#define.|kFIFOLoc|
|000016e0| 6b 65 64 09 31 0d 0d 4f | 54 4c 69 6e 6b 09 2a 4e |ked.1..O|TLink.*N|
|000016f0| 65 77 44 65 71 75 65 75 | 65 46 49 46 4f 28 46 49 |ewDequeu|eFIFO(FI|
|00001700| 46 4f 20 2a 70 46 49 46 | 4f 29 0d 7b 0d 09 4f 54 |FO *pFIF|O).{..OT|
|00001710| 4c 69 6e 6b 09 2a 74 6d | 70 3b 0d 0d 09 64 6f 0d |Link.*tm|p;...do.|
|00001720| 09 7b 0d 09 09 2f 2a 20 | 45 78 74 72 61 63 74 20 |.{.../* |Extract |
|00001730| 65 6c 65 6d 65 6e 74 73 | 20 71 75 65 75 65 64 20 |elements| queued |
|00001740| 6e 6f 72 6d 61 6c 6c 79 | 20 2a 2f 0d 0d 09 09 77 |normally| */....w|
|00001750| 68 69 6c 65 20 28 28 74 | 6d 70 20 3d 20 70 46 49 |hile ((t|mp = pFI|
|00001760| 46 4f 2d 3e 4c 69 73 74 | 29 20 21 3d 20 30 20 26 |FO->List|) != 0 &|
|00001770| 26 20 28 69 6e 74 29 74 | 6d 70 20 21 3d 20 6b 46 |& (int)t|mp != kF|
|00001780| 49 46 4f 4c 6f 63 6b 65 | 64 29 0d 09 09 7b 0d 09 |IFOLocke|d)...{..|
|00001790| 09 09 69 66 20 28 4f 54 | 43 6f 6d 70 61 72 65 41 |..if (OT|CompareA|
|000017a0| 6e 64 53 77 61 70 50 74 | 72 28 74 6d 70 2c 74 6d |ndSwapPt|r(tmp,tm|
|000017b0| 70 2d 3e 66 4e 65 78 74 | 2c 20 26 70 46 49 46 4f |p->fNext|, &pFIFO|
|000017c0| 2d 3e 4c 69 73 74 29 29 | 0d 09 09 09 09 72 65 74 |->List))|.....ret|
|000017d0| 75 72 6e 20 74 6d 70 3b | 0d 09 09 7d 0d 0d 09 09 |urn tmp;|...}....|
|000017e0| 2f 2a 20 4e 6f 20 65 6e | 74 72 79 2c 20 73 6f 20 |/* No en|try, so |
|000017f0| 63 68 65 63 6b 20 74 68 | 65 20 4c 49 46 4f 20 2a |check th|e LIFO *|
|00001800| 2f 0d 0d 09 09 69 66 20 | 28 74 6d 70 20 3d 3d 20 |/....if |(tmp == |
|00001810| 6b 46 49 46 4f 4c 6f 63 | 6b 65 64 29 09 2f 2a 20 |kFIFOLoc|ked)./* |
|00001820| 48 61 6e 64 6c 65 20 6c | 6f 63 6b 65 64 20 63 61 |Handle l|ocked ca|
|00001830| 73 65 20 2a 2f 0d 09 09 | 09 63 6f 6e 74 69 6e 75 |se */...|.continu|
|00001840| 65 3b 09 09 09 2f 2a 20 | 54 72 79 20 61 67 61 69 |e;.../* |Try agai|
|00001850| 6e 20 2a 2f 0d 0d 09 09 | 69 66 20 28 21 4f 54 43 |n */....|if (!OTC|
|00001860| 6f 6d 70 61 72 65 41 6e | 64 53 77 61 70 33 32 28 |ompareAn|dSwap32(|
|00001870| 30 2c 20 6b 46 49 46 4f | 4c 6f 63 6b 65 64 2c 20 |0, kFIFO|Locked, |
|00001880| 26 70 46 49 46 4f 2d 3e | 4c 69 73 74 29 29 0d 09 |&pFIFO->|List))..|
|00001890| 09 09 72 65 74 75 72 6e | 20 6e 69 6c 3b 0d 0d 09 |..return| nil;...|
|000018a0| 09 2f 2a 20 49 66 20 73 | 6f 6d 65 74 68 69 6e 67 |./* If s|omething|
|000018b0| 20 69 73 20 69 6e 20 4c | 49 46 4f 20 2a 2f 0d 09 | is in L|IFO */..|
|000018c0| 09 69 66 20 28 74 6d 70 | 20 3d 20 4f 54 4c 49 46 |.if (tmp| = OTLIF|
|000018d0| 4f 53 74 65 61 6c 4c 69 | 73 74 28 26 70 46 49 46 |OStealLi|st(&pFIF|
|000018e0| 4f 2d 3e 4c 49 46 4f 29 | 29 0d 09 09 7b 0d 09 09 |O->LIFO)|)...{...|
|000018f0| 09 2f 2a 20 52 65 6f 72 | 64 65 72 20 74 68 65 20 |./* Reor|der the |
|00001900| 4c 49 46 4f 20 61 6e 64 | 20 6d 61 6b 65 20 69 74 |LIFO and| make it|
|00001910| 20 74 68 65 20 46 49 46 | 4f 20 2a 2f 0d 09 09 09 | the FIF|O */....|
|00001920| 70 46 49 46 4f 2d 3e 4c | 69 73 74 20 3d 20 4f 54 |pFIFO->L|ist = OT|
|00001930| 52 65 76 65 72 73 65 4c | 69 73 74 28 74 6d 70 29 |ReverseL|ist(tmp)|
|00001940| 3b 0d 09 09 7d 0d 0d 09 | 09 2f 2a 20 45 6e 73 75 |;...}...|./* Ensu|
|00001950| 72 65 73 20 4c 69 73 74 | 20 69 73 20 77 72 69 74 |res List| is writ|
|00001960| 74 65 6e 20 62 61 63 6b | 20 62 65 66 6f 72 65 20 |ten back| before |
|00001970| 6c 6f 63 6b 20 69 73 20 | 63 6c 65 61 72 65 64 20 |lock is |cleared |
|00001980| 2a 2f 0d 09 09 44 6f 53 | 59 4e 43 49 6e 73 74 72 |*/...DoS|YNCInstr|
|00001990| 75 63 74 69 6f 6e 28 29 | 3b 0d 09 7d 20 77 68 69 |uction()|;..} whi|
|000019a0| 6c 65 20 28 74 6d 70 29 | 3b 0d 0d 09 72 65 74 75 |le (tmp)|;...retu|
|000019b0| 72 6e 20 74 6d 70 3b 0d | 7d 0d 0d 4e 6f 74 69 63 |rn tmp;.|}..Notic|
|000019c0| 65 20 74 68 61 74 20 74 | 68 65 20 63 68 61 6e 67 |e that t|he chang|
|000019d0| 65 73 20 65 6c 69 6d 69 | 6e 61 74 65 64 20 61 6c |es elimi|nated al|
|000019e0| 6c 20 72 65 66 65 72 65 | 6e 63 65 73 20 74 6f 20 |l refere|nces to |
|000019f0| 74 68 65 20 4c 6f 63 6b | 20 66 69 65 6c 64 20 69 |the Lock| field i|
|00001a00| 6e 20 74 68 65 20 6f 72 | 69 67 69 6e 61 6c 20 46 |n the or|iginal F|
|00001a10| 49 46 4f 20 73 74 72 75 | 63 74 75 00 00 03 fc 72 |IFO stru|ctu....r|
|00001a20| 65 2e 20 4f 6e 6c 79 20 | 74 68 65 20 4c 49 46 4f |e. Only |the LIFO|
|00001a30| 20 66 69 65 6c 64 20 69 | 73 20 72 65 66 65 72 65 | field i|s refere|
|00001a40| 6e 63 65 64 20 69 6e 20 | 74 68 65 20 65 6e 71 75 |nced in |the enqu|
|00001a50| 65 75 65 20 72 6f 75 74 | 69 6e 65 73 2e 0d 0b 46 |eue rout|ines...F|
|00001a60| 6f 72 20 72 65 66 65 72 | 65 6e 63 65 2c 20 68 65 |or refer|ence, he|
|00001a70| 72 65 20 69 73 20 74 68 | 65 20 65 6e 71 75 65 75 |re is th|e enqueu|
|00001a80| 65 20 72 6f 75 74 69 6e | 65 3a 0d 0d 76 6f 69 64 |e routin|e:..void|
|00001a90| 09 45 6e 71 75 65 75 65 | 46 49 46 4f 28 46 49 46 |.Enqueue|FIFO(FIF|
|00001aa0| 4f 20 2a 70 46 49 46 4f | 2c 20 4f 54 4c 69 6e 6b |O *pFIFO|, OTLink|
|00001ab0| 20 2a 70 45 6e 74 72 79 | 29 0d 7b 0d 09 4f 54 4c | *pEntry|).{..OTL|
|00001ac0| 49 46 4f 45 6e 71 75 65 | 75 65 28 26 70 46 49 46 |IFOEnque|ue(&pFIF|
|00001ad0| 4f 2d 3e 4c 49 46 4f 2c | 20 70 45 6e 74 72 79 29 |O->LIFO,| pEntry)|
|00001ae0| 3b 0d 09 72 65 74 75 72 | 6e 3b 0d 7d 0d 0d 4d 61 |;..retur|n;.}..Ma|
|00001af0| 6e 79 20 76 61 72 69 61 | 74 69 6f 6e 73 20 6f 6e |ny varia|tions on|
|00001b00| 20 74 68 65 73 65 20 72 | 6f 75 74 69 6e 65 73 20 | these r|outines |
|00001b10| 61 72 65 20 70 6f 73 73 | 69 62 6c 65 2e 20 46 6f |are poss|ible. Fo|
|00001b20| 72 20 65 78 61 6d 70 6c | 65 2c 20 61 20 6e 6f 6e |r exampl|e, a non|
|00001b30| 2d 62 6c 6f 63 6b 69 6e | 67 20 76 61 72 69 61 6e |-blockin|g varian|
|00001b40| 74 20 6f 66 20 64 65 71 | 75 65 75 65 20 63 61 6e |t of deq|ueue can|
|00001b50| 20 62 65 20 6d 61 64 65 | 20 66 6f 72 20 75 73 65 | be made| for use|
|00001b60| 20 69 6e 20 69 6e 74 65 | 72 72 75 70 74 20 72 6f | in inte|rrupt ro|
|00001b70| 75 74 69 6e 65 73 2e 20 | 41 6e 6f 74 68 65 72 20 |utines. |Another |
|00001b80| 65 78 61 6d 70 6c 65 20 | 77 6f 75 6c 64 20 62 65 |example |would be|
|00001b90| 20 74 6f 20 65 6e 63 6f | 64 65 20 74 68 65 20 63 | to enco|de the c|
|00001ba0| 70 75 20 6f 77 6e 69 6e | 67 20 74 68 65 20 6c 6f |pu ownin|g the lo|
|00001bb0| 63 6b 20 69 6e 74 6f 20 | 74 68 65 20 6c 6f 63 6b |ck into |the lock|
|00001bc0| 20 76 61 6c 75 65 2e 20 | 54 68 65 6e 20 69 6e 74 | value. |Then int|
|00001bd0| 65 72 72 75 70 74 20 64 | 65 71 75 65 75 65 72 73 |errupt d|equeuers|
|00001be0| 20 63 61 6e 20 73 70 69 | 6e 20 69 66 20 74 68 65 | can spi|n if the|
|00001bf0| 20 6c 6f 63 6b 20 69 73 | 20 6f 77 6e 65 64 20 62 | lock is| owned b|
|00001c00| 79 20 61 20 64 69 66 66 | 65 72 65 6e 74 20 63 70 |y a diff|erent cp|
|00001c10| 75 2c 20 61 6e 64 20 72 | 65 74 75 72 6e 20 6e 69 |u, and r|eturn ni|
|00001c20| 6c 20 6f 74 68 65 72 77 | 69 73 65 2e 20 41 6e 6f |l otherw|ise. Ano|
|00001c30| 74 68 65 72 20 76 61 72 | 69 61 74 69 6f 6e 20 69 |ther var|iation i|
|00001c40| 73 20 74 6f 20 70 65 72 | 6d 69 74 20 68 69 67 68 |s to per|mit high|
|00001c50| 2d 70 72 69 6f 72 69 74 | 79 20 6d 65 73 73 61 67 |-priorit|y messag|
|00001c60| 65 73 20 74 6f 20 65 66 | 66 65 63 74 69 76 65 6c |es to ef|fectivel|
|00001c70| 79 20 62 65 20 70 6c 61 | 63 65 64 20 61 74 20 74 |y be pla|ced at t|
|00001c80| 68 65 20 68 65 61 64 20 | 6f 66 20 74 68 65 20 71 |he head |of the q|
|00001c90| 75 65 75 65 2e 20 54 68 | 61 74 20 69 73 20 69 6d |ueue. Th|at is im|
|00001ca0| 70 6c 65 6d 65 6e 74 65 | 64 20 62 79 20 68 61 76 |plemente|d by hav|
|00001cb0| 69 6e 67 20 61 20 68 69 | 67 68 2d 70 72 69 6f 72 |ing a hi|gh-prior|
|00001cc0| 69 74 79 20 4c 49 46 4f | 20 74 68 61 74 20 69 73 |ity LIFO| that is|
|00001cd0| 20 63 68 65 63 6b 65 64 | 20 62 65 66 6f 72 65 20 | checked| before |
|00001ce0| 74 68 65 20 6e 6f 72 6d | 61 6c 20 6c 69 73 74 20 |the norm|al list |
|00001cf0| 69 6e 20 74 68 65 20 64 | 65 71 75 65 75 65 20 72 |in the d|equeue r|
|00001d00| 6f 75 74 69 6e 65 2c 20 | 61 6e 64 20 68 61 76 69 |outine, |and havi|
|00001d10| 6e 67 20 74 68 65 20 68 | 69 67 68 2d 70 72 69 6f |ng the h|igh-prio|
|00001d20| 72 69 74 79 20 65 6e 71 | 75 65 75 65 72 20 70 6c |rity enq|ueuer pl|
|00001d30| 61 63 65 20 6d 65 73 73 | 61 67 65 73 20 6f 6e 20 |ace mess|ages on |
|00001d40| 74 68 61 74 20 6c 69 73 | 74 2e 0d 0d 54 68 65 73 |that lis|t...Thes|
|00001d50| 65 20 6d 65 74 68 6f 64 | 73 20 64 6f 76 65 74 61 |e method|s doveta|
|00001d60| 69 6c 20 76 65 72 79 20 | 77 65 6c 6c 20 77 69 74 |il very |well wit|
|00001d70| 68 20 74 68 65 20 74 65 | 63 68 6e 69 71 75 65 73 |h the te|chniques|
|00001d80| 20 64 65 73 63 72 69 62 | 65 64 20 69 6e 20 74 68 | describ|ed in th|
|00001d90| 65 20 41 74 6f 6d 69 63 | 69 74 79 20 70 61 70 65 |e Atomic|ity pape|
|00001da0| 72 20 64 65 6c 69 76 65 | 72 65 64 20 68 65 72 65 |r delive|red here|
|00001db0| 20 61 74 20 4d 61 63 48 | 61 63 6b 2e 20 53 6f 6d | at MacH|ack. Som|
|00001dc0| 65 20 6f 66 20 74 68 65 | 20 74 65 63 68 6e 69 71 |e of the| techniq|
|00001dd0| 75 65 73 20 69 6e 20 74 | 68 61 74 20 70 61 70 65 |ues in t|hat pape|
|00001de0| 72 20 6d 61 79 20 6f 72 | 20 6d 61 79 20 6e 6f 74 |r may or| may not|
|00001df0| 20 69 6e 66 72 69 6e 67 | 65 20 6f 6e 20 74 68 65 | infring|e on the|
|00001e00| 20 70 61 74 65 6e 74 20 | 6d 65 6e 74 69 6f 6e 65 | patent |mentione|
|00001e10| 64 20 65 61 72 6c 69 65 | 72 2e 00 00 00 00 5a 00 |d earlie|r.....Z.|
|00001e20| 01 ff ff 00 00 00 4e 00 | 00 00 01 00 00 00 00 00 |......N.|........|
|00001e30| 00 00 00 00 00 00 00 00 | 01 02 0a 00 00 00 00 00 |........|........|
|00001e40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e60| 01 00 01 00 00 01 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e70| 00 00 00 00 05 00 00 00 | 05 44 53 45 54 00 00 00 |........|.DSET...|
|00001e80| 82 00 01 ff ff 00 00 00 | 2e 00 48 00 01 00 00 00 |........|..H.....|
|00001e90| 02 00 00 00 00 00 00 01 | 00 00 00 7f ff ff ff 7f |........|........|
|00001ea0| ff ff ff 04 1d a2 5c 00 | 00 00 00 00 00 00 00 00 |......\.|........|
|00001eb0| 00 00 00 00 00 02 0a 00 | 00 02 88 00 01 00 01 00 |........|........|
|00001ec0| 00 00 00 00 00 df 50 00 | 00 00 00 00 00 00 00 00 |......P.|........|
|00001ed0| 00 00 00 01 fa 01 00 08 | 00 00 00 00 00 00 00 00 |........|........|
|00001ee0| 00 00 0a 20 00 00 02 0a | 00 00 00 01 00 00 02 00 |... ....|........|
|00001ef0| 02 00 00 00 00 00 03 00 | 00 00 00 00 05 ff ff 00 |........|........|
|00001f00| 00 00 00 00 00 00 36 00 | 01 ff ff 00 00 00 2a 00 |......6.|......*.|
|00001f10| 00 00 02 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f20| 00 00 00 00 01 00 01 00 | 00 00 00 00 00 df 50 00 |........|......P.|
|00001f30| 00 00 00 00 00 00 00 00 | 00 00 00 01 fa 00 00 00 |........|........|
|00001f40| 00 00 00 00 00 44 53 45 | 54 00 00 01 c4 00 08 ff |.....DSE|T.......|
|00001f50| ff 00 00 00 2e 00 48 00 | 01 00 00 00 03 00 00 00 |......H.|........|
|00001f60| 61 69 6e 00 4d 61 69 7f | ff ff ff 7f ff ff ff 04 |ain.Mai.|........|
|00001f70| 1d a2 58 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..X.....|........|
|00001f80| 00 00 00 00 00 00 00 00 | 01 00 01 00 00 00 00 00 |........|........|
|00001f90| 02 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 01 |........|........|
|00001fa0| fa 01 00 00 01 00 00 00 | 00 00 00 00 00 00 02 79 |........|.......y|
|00001fb0| 00 00 02 0a 00 00 00 01 | 00 00 02 00 02 00 00 00 |........|........|
|00001fc0| 00 00 01 00 00 00 00 00 | 05 ff ff 00 00 00 00 01 |........|........|
|00001fd0| 00 00 01 00 02 88 00 00 | 00 00 00 00 05 01 00 00 |........|........|
|00001fe0| 02 0a 00 00 00 01 00 00 | 02 00 02 00 00 00 00 00 |........|........|
|00001ff0| 01 00 00 00 01 00 05 ff | ff 00 00 00 00 01 00 00 |........|........|
|00002000| 01 00 05 10 00 00 00 00 | 00 00 07 89 00 00 02 0a |........|........|
|00002010| 00 00 00 01 00 00 02 00 | 02 00 00 00 00 00 01 00 |........|........|
|00002020| 00 00 02 00 05 ff ff 00 | 00 00 00 01 00 00 01 00 |........|........|
|00002030| 07 98 00 00 00 00 00 00 | 0a 11 00 00 02 0a 00 00 |........|........|
|00002040| 00 01 00 00 02 00 02 00 | 00 00 00 00 01 00 00 00 |........|........|
|00002050| 03 00 05 ff ff 00 00 00 | 00 01 00 00 00 00 02 7a |........|.......z|
|00002060| 00 00 00 00 00 00 02 88 | 00 00 02 0a 00 00 00 01 |........|........|
|00002070| 00 00 02 00 02 00 00 00 | 00 00 04 00 01 00 00 00 |........|........|
|00002080| 05 ff ff 00 00 00 00 01 | 00 00 00 00 05 02 00 00 |........|........|
|00002090| 00 00 00 00 05 10 00 00 | 02 0a 00 00 00 01 00 00 |........|........|
|000020a0| 02 00 02 00 00 00 00 00 | 04 00 02 00 00 00 05 ff |........|........|
|000020b0| ff 00 00 00 00 01 00 00 | 00 00 07 8a 00 00 00 00 |........|........|
|000020c0| 00 00 07 98 00 00 02 0a | 00 00 00 01 00 00 02 00 |........|........|
|000020d0| 02 00 00 00 00 00 04 00 | 03 00 00 00 05 ff ff 00 |........|........|
|000020e0| 00 00 00 01 00 00 00 00 | 0a 12 00 00 00 00 00 00 |........|........|
|000020f0| 0a 20 00 00 02 0a 00 00 | 00 01 00 00 02 00 02 00 |. ......|........|
|00002100| 00 00 00 00 04 00 04 00 | 00 00 05 ff ff 00 00 00 |........|........|
|00002110| 00 00 00 00 36 00 01 ff | ff 00 00 00 2a 00 00 00 |....6...|....*...|
|00002120| 02 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002130| 00 00 01 00 01 00 00 00 | 00 00 00 df 50 00 00 00 |........|....P...|
|00002140| 00 00 00 00 00 00 00 00 | 00 01 fa 00 00 00 00 00 |........|........|
|00002150| 00 00 00 44 53 45 54 00 | 00 00 82 00 01 ff ff 00 |...DSET.|........|
|00002160| 00 00 2e 00 48 00 01 00 | 00 00 04 00 00 00 00 00 |....H...|........|
|00002170| 00 00 00 00 00 7f ff ff | ff 7f ff ff ff 04 1d a2 |........|........|
|00002180| 54 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |T.......|........|
|00002190| 00 00 00 00 00 00 01 00 | 01 00 00 00 00 00 00 41 |........|.......A|
|000021a0| f0 00 00 00 00 00 00 00 | 00 00 00 00 00 01 fa 01 |........|........|
|000021b0| 00 04 01 00 00 00 00 00 | 00 00 00 00 00 0e 00 00 |........|........|
|000021c0| 02 0a 00 00 00 01 00 00 | 02 00 02 00 00 00 00 00 |........|........|
|000021d0| 05 00 00 00 00 00 05 ff | ff 00 00 00 00 00 00 00 |........|........|
|000021e0| de 00 05 ff ff 00 00 00 | 2a 00 00 00 02 00 00 00 |........|*.......|
|000021f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 01 00 |........|........|
|00002200| 01 00 00 00 00 00 00 41 | f0 00 00 00 00 00 00 00 |.......A|........|
|00002210| 00 00 00 00 00 01 fa 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002220| 00 02 0a 00 00 00 0e 00 | 01 00 01 00 00 00 00 00 |........|........|
|00002230| 03 00 04 00 00 00 00 00 | 00 00 00 00 00 00 00 01 |........|........|
|00002240| fa 00 00 00 00 00 00 00 | 00 00 00 02 0a 00 00 00 |........|........|
|00002250| 0e 00 01 00 01 00 00 00 | 00 00 03 00 05 00 00 00 |........|........|
|00002260| 00 00 00 00 00 00 00 00 | 00 01 d3 00 00 00 00 00 |........|........|
|00002270| 00 00 00 00 00 02 0a 00 | 00 00 0e 00 01 00 01 00 |........|........|
|00002280| 00 00 00 00 03 00 06 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002290| 00 00 00 01 d3 00 00 00 | 00 00 00 00 00 00 00 02 |........|........|
|000022a0| 0a 00 00 00 0e 00 01 00 | 01 00 00 00 00 00 03 00 |........|........|
|000022b0| 07 00 00 00 00 00 00 00 | 00 00 00 00 00 01 d3 00 |........|........|
|000022c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000022d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000022e0| 00 00 00 00 00 00 00 44 | 53 45 54 00 00 00 54 00 |.......D|SET...T.|
|000022f0| 01 00 00 00 1e 00 00 00 | 00 40 00 01 00 00 05 00 |........|.@......|
|00002300| 00 00 04 00 00 00 1e 00 | 01 00 01 00 01 00 01 04 |........|........|
|00002310| 1d a2 44 04 1d a2 50 04 | 1d a2 4c 04 1d a2 48 00 |..D...P.|..L...H.|
|00002320| 00 00 00 00 00 00 00 00 | 00 02 0a 00 0e 04 1d a1 |........|........|
|00002330| 2c 00 01 00 0e 00 00 00 | 00 00 00 00 00 00 00 00 |,.......|........|
|00002340| 00 00 00 00 00 00 08 00 | 00 00 00 00 12 00 00 00 |........|........|
|00002350| 00 00 0c 00 00 00 00 00 | 00 00 02 0c 01 00 1d 00 |........|........|
|00002360| 00 00 20 00 00 00 0c 00 | 02 00 00 00 00 80 a0 00 |.. .....|........|
|00002370| 00 00 00 07 08 38 e0 00 | 00 00 00 00 00 00 00 00 |.....8..|........|
|00002380| 00 00 00 00 00 00 0a 00 | 00 00 00 00 1f 04 1d a2 |........|........|
|00002390| 40 00 00 00 1f 36 2f 32 | 35 2f 31 39 39 39 09 2d |@....6/2|5/1999.-|
|000023a0| 20 06 20 2d 09 4d 61 72 | 6b 20 44 2e 20 52 75 73 | . -.Mar|k D. Rus|
|000023b0| 74 61 64 00 00 00 00 00 | 00 00 00 00 44 53 55 4d |tad.....|....DSUM|
|000023c0| 00 00 00 41 00 00 00 11 | 10 46 49 46 4f 20 50 61 |...A....|.FIFO Pa|
|000023d0| 74 65 6e 74 20 48 61 63 | 6b 00 00 00 00 00 00 00 |tent Hac|k.......|
|000023e0| 00 00 00 00 0c 0b 4d 61 | 72 6b 20 52 75 73 74 61 |......Ma|rk Rusta|
|000023f0| 64 00 00 00 00 00 00 00 | 0c 0b 70 61 74 65 6e 74 |d.......|..patent|
|00002400| 20 46 49 46 4f 48 44 4e | 49 00 00 00 02 00 00 53 | FIFOHDN|I......S|
|00002410| 54 59 4c 00 00 0e 84 00 | 00 00 00 00 00 03 44 00 |TYL.....|......D.|
|00002420| 1b ff ff 00 00 00 1c 00 | 44 00 01 53 54 59 4c 04 |........|D..STYL.|
|00002430| 1d a2 30 04 01 04 1d a2 | 04 00 00 00 00 04 1d a2 |..0.....|........|
|00002440| 2c 04 1d a2 24 04 1d a2 | 1c 04 1d a2 14 04 1d a2 |,...$...|........|
|00002450| 0c 04 1d a2 08 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002460| 00 00 00 00 00 00 10 00 | 1c 00 00 00 01 00 02 ff |........|........|
|00002470| ff 00 00 00 be 00 00 00 | 00 04 0a 00 01 ff ff ff |........|........|
|00002480| ff 00 00 00 00 00 00 00 | 00 00 00 ff ff 00 00 00 |........|........|
|00002490| 01 00 01 00 01 00 01 00 | 00 ff ff 00 00 00 01 00 |........|........|
|000024a0| 01 00 01 00 01 ff ff ff | ff 00 00 00 02 00 02 00 |........|........|
|000024b0| 02 04 02 00 00 ff ff 00 | 00 00 02 00 01 00 01 00 |........|........|
|000024c0| 01 00 01 ff ff 00 00 00 | 01 00 03 00 03 04 0a 00 |........|........|
|000024d0| 01 ff ff 00 00 00 03 00 | 01 00 01 00 02 00 02 ff |........|........|
|000024e0| ff 00 00 00 b4 00 04 00 | 04 04 0a 00 01 ff ff 00 |........|........|
|000024f0| 00 00 01 00 01 00 01 00 | 01 00 03 ff ff 00 00 00 |........|........|
|00002500| 03 00 05 00 05 04 0a 00 | 01 ff ff 00 00 00 04 00 |........|........|
|00002510| 01 00 01 00 02 00 04 ff | ff 00 00 00 01 00 06 00 |........|........|
|00002520| 06 04 0a 00 01 ff ff 00 | 00 00 05 00 01 00 01 00 |........|........|
|00002530| 01 00 05 ff ff 00 00 00 | 01 00 07 00 07 04 02 00 |........|........|
|00002540| 00 ff ff ff ff 00 06 00 | 02 00 02 00 03 00 06 ff |........|........|
|00002550| ff 00 00 00 07 00 08 00 | 09 00 09 00 01 ff ff 00 |........|........|
|00002560| 04 00 01 00 01 00 01 00 | 02 ff ff 00 01 00 00 00 |........|........|
|00002570| 0a 00 09 00 08 00 09 00 | 01 ff ff 00 04 00 01 00 |........|........|
|00002580| 01 00 01 00 01 ff ff ff | ff 00 00 00 01 00 0a 00 |........|........|
|00002590| 0d 00 01 00 00 ff ff 00 | 09 00 07 00 01 00 01 00 |........|........|
|000025a0| 04 ff ff ff ff 00 00 00 | 01 00 0b 00 0f 00 01 00 |........|........|
|000025b0| 00 ff ff 00 09 00 0b 00 | 01 00 01 00 04 ff ff ff |........|........|
|000025c0| ff 00 00 00 01 00 0c 00 | 0b 00 01 00 00 ff ff 00 |........|........|
|000025d0| 08 00 08 00 01 00 01 00 | 01 ff ff ff ff 00 00 00 |........|........|
|000025e0| 01 00 0d 00 0e 04 00 00 | 00 ff ff ff ff 00 10 00 |........|........|
|000025f0| 02 00 02 00 03 00 07 ff | ff 00 00 00 01 00 0e 00 |........|........|
|00002600| 11 00 01 00 00 ff ff 00 | 08 00 09 00 01 00 01 00 |........|........|
|00002610| 01 ff ff 00 09 00 00 00 | 1a 00 0f 00 14 00 09 00 |........|........|
|00002620| 01 00 04 00 04 00 01 00 | 01 00 01 00 01 ff ff 00 |........|........|
|00002630| 0e 00 00 00 06 00 10 00 | 19 00 01 00 00 ff ff 00 |........|........|
|00002640| 14 00 09 00 01 00 01 00 | 01 ff ff ff ff 00 00 00 |........|........|
|00002650| 01 00 11 00 1a 00 01 00 | 00 ff ff 00 14 00 0d 00 |........|........|
|00002660| 01 00 01 00 01 ff ff ff | ff 00 00 00 6f 00 12 00 |........|....o...|
|00002670| 1c 04 08 00 01 ff ff ff | ff 00 0c 00 02 00 02 00 |........|........|
|00002680| 08 00 08 ff ff 00 00 00 | 01 00 13 00 18 00 01 00 |........|........|
|00002690| 00 ff ff 00 14 00 0a 00 | 01 00 01 00 01 ff ff ff |........|........|
|000026a0| ff 00 00 00 6e 00 14 00 | 0a 00 09 00 01 00 1c 00 |....n...|........|
|000026b0| 04 00 0f 00 01 00 01 00 | 06 ff ff 00 14 00 00 00 |........|........|
|000026c0| 01 00 15 00 13 04 01 00 | 00 ff ff 00 0a 00 0f 00 |........|........|
|000026d0| 01 00 01 00 06 ff ff 00 | 15 00 00 00 13 00 16 00 |........|........|
|000026e0| 16 00 01 00 00 ff ff 00 | 0a 00 0f 00 01 00 01 00 |........|........|
|000026f0| 06 ff ff ff ff 00 00 00 | 01 00 17 00 0c 00 01 00 |........|........|
|00002700| 00 ff ff 00 0a 00 09 00 | 01 00 01 00 06 ff ff ff |........|........|
|00002710| ff 00 00 00 02 00 18 00 | 12 00 09 00 01 ff ff 00 |........|........|
|00002720| 05 00 0e 00 01 00 01 00 | 05 ff ff ff ff 00 00 00 |........|........|
|00002730| 01 00 19 00 1d 00 01 00 | 00 ff ff 00 12 00 0e 00 |........|........|
|00002740| 01 00 01 00 07 ff ff ff | ff 00 00 00 01 00 1a 00 |........|........|
|00002750| 10 00 01 00 00 ff ff 00 | 09 00 11 00 01 00 01 00 |........|........|
|00002760| 04 ff ff 00 00 00 94 00 | 16 ff ff 00 00 00 06 00 |........|........|
|00002770| 04 00 01 48 41 53 48 8c | 0d 24 da 00 02 e1 b4 de |...HASH.|.$......|
|00002780| e3 00 06 01 06 28 0f 00 | 0f 01 06 28 1f 00 13 01 |.....(..|...(....|
|00002790| 0a 28 15 00 0c 01 0a 28 | 16 00 10 01 0b 28 12 00 |.(.....(|.....(..|
|000027a0| 11 01 2e 28 16 00 17 01 | 2f 28 0f 00 16 01 64 2b |...(....|/(....d+|
|000027b0| 0f 00 19 01 e4 2a 8f 00 | 18 41 08 28 0d 00 08 41 |.....*..|.A.(...A|
|000027c0| 09 28 1f 00 0b 41 09 28 | 2b 00 0a 41 09 28 2c 00 |.(...A.(|+..A.(,.|
|000027d0| 1a 4c 3a a0 51 00 07 68 | b9 d1 da 00 00 69 43 6f |.L:.Q..h|.....iCo|
|000027e0| 64 00 12 6a ad d7 61 00 | 03 6a bb 6f 64 00 0d 7a |d..j..a.|.j.od..z|
|000027f0| ab e1 6f 00 05 7d 42 6f | 64 00 04 00 00 01 7e 00 |..o..}Bo|d.....~.|
|00002800| 12 ff ff 00 00 00 14 00 | 0a 00 02 43 48 41 52 04 |........|...CHAR.|
|00002810| 1d a2 28 00 00 ff ff 00 | 00 00 01 00 01 ff ff 00 |..(.....|........|
|00002820| 00 00 00 00 00 00 00 0c | 01 00 00 00 00 00 05 00 |........|........|
|00002830| 00 00 00 00 01 ff ff 00 | 00 00 00 0c 01 ff ff 00 |........|........|
|00002840| 00 00 01 00 00 00 05 00 | 01 ff fa 00 01 00 00 09 |........|........|
|00002850| 01 ff ff 00 00 00 01 00 | 00 00 16 00 01 ff eb 00 |........|........|
|00002860| 00 00 01 0e 01 ff ff 00 | 00 00 01 00 00 00 22 00 |........|......".|
|00002870| 01 ff df 00 00 00 02 0c | 01 ff ff 00 00 00 01 00 |........|........|
|00002880| 00 00 04 00 01 ff fb 00 | 00 00 00 0a 01 ff ff 00 |........|........|
|00002890| 00 00 01 00 00 80 02 00 | 00 00 00 00 00 04 00 00 |........|........|
|000028a0| 00 ff ff 00 00 00 01 00 | 00 00 05 00 01 ff fe 00 |........|........|
|000028b0| 03 00 00 24 01 ff ff 00 | 00 00 01 00 00 00 05 00 |...$....|........|
|000028c0| 01 ff fe 00 04 00 00 0e | 01 ff ff 00 00 00 03 00 |........|........|
|000028d0| 00 00 05 00 01 ff ff 00 | 04 00 00 0e 01 ff ff 00 |........|........|
|000028e0| 00 00 01 00 00 00 04 00 | 01 ff ff 00 00 00 00 18 |........|........|
|000028f0| 01 ff ff 00 00 00 01 00 | 00 00 05 00 01 ff fe 00 |........|........|
|00002900| 03 00 00 18 01 ff ff 00 | 00 00 01 00 00 00 05 00 |........|........|
|00002910| 00 00 00 00 05 00 00 0c | 00 ff ff 00 00 00 01 00 |........|........|
|00002920| 00 00 05 00 01 ff ff 00 | 05 00 00 0a 01 ff ff 00 |........|........|
|00002930| 00 00 02 00 00 00 00 00 | 01 ff ff 00 00 00 02 0c |........|........|
|00002940| 01 ff ff 00 00 00 03 00 | 00 00 00 00 01 ff ff 00 |........|........|
|00002950| 05 00 00 0c 01 ff ff 00 | 00 00 01 00 00 00 01 00 |........|........|
|00002960| 00 00 00 00 00 00 00 00 | 00 ff ff 00 00 00 01 00 |........|........|
|00002970| 00 00 05 00 01 ff ff 00 | 03 00 00 24 01 00 00 00 |........|...$....|
|00002980| 76 00 11 ff ff 00 00 00 | 06 00 04 00 01 48 41 53 |v.......|.....HAS|
|00002990| 48 00 00 00 01 00 10 00 | 00 84 02 00 06 00 02 01 |H.......|........|
|000029a0| 09 00 05 00 02 01 0b 00 | 01 00 02 01 0d 00 0e 00 |........|........|
|000029b0| 02 01 0f 00 04 00 02 01 | 10 00 03 00 02 01 1b 00 |........|........|
|000029c0| 0a 00 03 01 08 00 02 00 | 05 00 11 00 0c 00 05 01 |........|........|
|000029d0| 1b 00 0b 00 05 01 27 00 | 07 00 05 01 28 00 11 00 |......'.|....(...|
|000029e0| 06 01 11 00 08 00 06 01 | 12 00 09 00 07 01 0b 00 |........|........|
|000029f0| 0f 00 07 01 0e 00 0d 00 | 00 00 52 00 03 ff ff 00 |........|..R.....|
|00002a00| 00 00 14 00 0a 00 02 43 | 45 4c 4c 04 1d a2 20 00 |.......C|ELL... .|
|00002a10| 10 ff ff 00 00 00 01 1f | ff 00 00 00 02 00 00 00 |........|........|
|00002a20| 00 00 00 00 00 ff ff 00 | 00 00 17 00 00 1f ff 00 |........|........|
|00002a30| 02 00 00 00 00 00 00 00 | 00 ff ff 00 00 00 03 00 |........|........|
|00002a40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a50| 22 00 03 ff ff 00 00 00 | 06 00 04 00 01 48 41 53 |".......|.....HAS|
|00002a60| 48 00 00 00 00 00 02 00 | 02 1f ff 00 01 20 01 00 |H.......|..... ..|
|00002a70| 00 00 00 00 00 00 6a 00 | 03 ff ff 00 00 00 1c 00 |......j.|........|
|00002a80| 0a 00 02 47 52 50 48 04 | 1d a2 18 00 ff ff ff 00 |...GRPH.|........|
|00002a90| 00 00 01 03 ff 00 00 01 | 00 01 00 00 02 00 02 00 |........|........|
|00002aa0| 00 00 00 00 00 00 00 05 | 00 ff ff 00 00 00 17 00 |........|........|
|00002ab0| 00 03 ff 01 00 01 00 00 | 02 00 02 00 00 00 00 00 |........|........|
|00002ac0| 00 00 00 05 00 ff ff 00 | 00 00 03 00 00 00 00 00 |........|........|
|00002ad0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ae0| 00 00 00 00 22 00 03 ff | ff 00 00 00 06 00 04 00 |...."...|........|
|00002af0| 01 48 41 53 48 00 00 00 | 00 00 02 01 02 05 06 00 |.HASH...|........|
|00002b00| 01 05 01 01 07 00 00 00 | 00 03 e2 00 09 ff ff 00 |........|........|
|00002b10| 00 00 6c 00 0a 00 02 52 | 55 4c 52 04 1d a2 10 00 |..l....R|ULR.....|
|00002b20| 00 ff ff 00 00 00 01 01 | ff 00 00 00 00 00 00 00 |........|........|
|00002b30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 ff ff 00 |........|........|
|00002b90| 00 00 0b 00 00 01 ff 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ba0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002bb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002bc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002bd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002be0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002bf0| 00 00 00 00 00 00 00 00 | 00 ff ff 00 00 00 03 00 |........|........|
|00002c00| 02 01 fd 00 00 00 00 40 | 00 00 00 00 00 00 00 00 |.......@|........|
|00002c10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002c20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002c30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002c40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002c50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002c60| 00 00 00 00 00 ff ff 00 | 00 00 02 00 00 00 00 00 |........|........|
|00002c70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002c80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002c90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ca0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002cb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002cc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002cd0| 00 ff ff 00 00 00 03 00 | 00 01 ff 00 00 00 00 40 |........|.......@|
|00002ce0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002cf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002d00| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002d10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002d20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002d30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 ff ff 00 |........|........|
|00002d40| 00 00 01 00 80 01 7f 00 | 00 00 00 40 00 00 00 00 |........|...@....|
|00002d50| 00 00 00 00 00 00 00 00 | 02 00 fc 40 2e 02 02 80 |........|...@....|
|00002d60| 2e 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002d70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002d80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002d90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002da0| 00 00 00 00 00 00 00 00 | 00 ff ff 00 00 00 04 00 |........|........|
|00002db0| 00 01 ff 00 00 00 00 00 | 00 00 00 00 24 00 00 00 |........|....$...|
|00002dc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002dd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002de0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002df0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002e00| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002e10| 00 00 00 00 00 ff ff 00 | 00 00 01 00 00 01 ff 00 |........|........|
|00002e20| 00 00 00 40 00 00 00 00 | 00 00 00 00 00 00 00 00 |...@....|........|
|00002e30| 02 00 fc 40 2e 02 02 80 | 2e 00 00 00 00 00 00 00 |...@....|........|
|00002e40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002e50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002e60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002e70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002e80| 00 ff ff 00 00 00 01 00 | 08 00 00 00 00 00 00 00 |........|........|
|00002e90| 00 00 00 00 24 00 00 00 | 00 00 00 00 00 00 00 00 |....$...|........|
|00002ea0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002eb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ec0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ed0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ee0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ef0| 46 00 09 ff ff 00 00 00 | 06 00 04 00 01 48 41 53 |F.......|.....HAS|
|00002f00| 48 00 00 00 00 00 03 00 | 00 01 ff 00 01 00 24 01 |H.......|......$.|
|00002f10| ff 00 06 00 2c 00 00 00 | 08 00 5e 04 fd 00 07 00 |....,...|..^.....|
|00002f20| de 04 7d 00 05 01 ff 00 | 00 00 00 40 00 01 ff 00 |..}.....|...@....|
|00002f30| 04 40 02 01 fd 00 02 00 | 00 00 4c 00 1e 00 15 00 |.@......|..L.....|
|00002f40| 03 00 02 00 04 00 02 4c | 4b 55 50 00 00 00 01 00 |.......L|KUP.....|
|00002f50| 02 00 03 00 04 00 05 00 | 06 00 07 00 09 00 08 00 |........|........|
|00002f60| 14 00 0c 00 17 00 0a 00 | 0d 00 0b 00 1a 00 0e 00 |........|........|
|00002f70| 18 00 15 00 0f 00 17 00 | 16 00 1b 00 13 00 10 00 |........|........|
|00002f80| 11 ff ff 00 12 00 19 00 | 00 01 54 00 09 ff ff 00 |........|..T.....|
|00002f90| 00 00 24 00 04 00 02 4e | 41 4d 45 00 00 07 44 65 |..$....N|AME...De|
|00002fa0| 66 61 75 6c 74 00 00 00 | 00 00 00 00 00 00 00 00 |fault...|........|
|00002fb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002fc0| 02 0a 44 65 66 61 75 6c | 74 20 53 53 00 00 00 00 |..Defaul|t SS....|
|00002fd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002fe0| 00 00 00 00 03 06 48 65 | 61 64 65 72 00 00 00 00 |......He|ader....|
|00002ff0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003000| 00 00 00 00 00 00 00 00 | 04 04 42 6f 64 79 00 00 |........|..Body..|
|00003010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003020| 00 00 00 00 00 00 00 00 | 00 00 00 00 05 06 46 6f |........|......Fo|
|00003030| 6f 74 65 72 00 00 00 00 | 00 00 00 00 00 00 00 00 |oter....|........|
|00003040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003050| 06 08 46 6f 6f 74 6e 6f | 74 65 00 00 00 00 00 00 |..Footno|te......|
|00003060| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003070| 00 00 00 00 07 0e 46 6f | 6f 74 6e 6f 74 65 20 49 |......Fo|otnote I|
|00003080| 6e 64 65 78 00 00 00 00 | 00 00 00 00 00 00 00 00 |ndex....|........|
|00003090| 00 00 00 00 00 00 00 00 | 0e 05 43 6f 64 65 78 00 |........|..Codex.|
|000030a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 1c 04 43 6f |........|......Co|
|000030c0| 64 65 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |de......|........|
|000030d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030f0| 00 01 a8 00 06 00 02 00 | 01 00 44 00 04 00 02 46 |........|..D....F|
|00003100| 4e 54 4d 00 15 00 02 09 | 48 65 6c 76 65 74 69 63 |NTM.....|Helvetic|
|00003110| 61 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |a.......|........|
|00003120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003140| 00 00 00 00 00 00 00 00 | 03 00 02 06 47 65 6e 65 |........|....Gene|
|00003150| 76 61 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |va......|........|
|00003160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003180| 00 00 00 00 00 00 00 00 | 00 00 00 ff ff 00 04 06 |........|........|
|00003190| 54 65 63 68 6e 6f 00 00 | 00 00 00 00 00 00 00 00 |Techno..|........|
|000031a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000031b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000031c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000031d0| 10 00 02 08 50 61 6c 61 | 74 69 6e 6f 00 00 00 00 |....Pala|tino....|
|000031e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000031f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003200| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003210| 00 00 00 00 14 00 02 05 | 54 69 6d 65 73 00 00 00 |........|Times...|
|00003220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003250| 00 00 00 00 00 00 00 00 | 16 00 02 07 43 6f 75 72 |........|....Cour|
|00003260| 69 65 72 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |ier.....|........|
|00003270| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003280| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003290| 00 00 00 00 00 00 00 00 | 00 00 00 4d 43 52 4f 00 |........|...MCRO.|
|000032a0| 00 00 08 4d 43 52 4f 00 | 00 00 00 6f 42 6c 4e 00 |...MCRO.|...oBlN.|
|000032b0| 00 00 08 6f 42 6c 4e 00 | 00 00 00 42 42 41 52 00 |...oBlN.|...BBAR.|
|000032c0| 00 00 08 42 42 41 52 00 | 01 ff ff 4d 41 52 4b 00 |...BBAR.|...MARK.|
|000032d0| 00 00 1e 4d 52 4b 53 00 | 03 00 00 00 00 00 00 00 |...MRKS.|........|
|000032e0| 10 00 00 ff ff 00 00 00 | 0c 00 04 00 02 4d 4f 42 |........|.....MOB|
|000032f0| 4a 57 4d 42 54 00 00 00 | 04 00 00 00 00 45 54 42 |JWMBT...|.....ETB|
|00003300| 4c 00 00 00 58 44 53 55 | 4d 00 00 23 3c 48 44 4e |L...XDSU|M..#<HDN|
|00003310| 49 00 00 23 85 53 54 59 | 4c 00 00 23 8f 4d 43 52 |I..#.STY|L..#.MCR|
|00003320| 4f 00 00 32 1b 6f 42 6c | 4e 00 00 32 2b 42 42 41 |O..2.oBl|N..2+BBA|
|00003330| 52 00 00 32 3b 4d 41 52 | 4b 00 00 32 4b 57 4d 42 |R..2;MAR|K..2KWMB|
|00003340| 54 00 00 32 71 45 54 42 | 4c 00 00 32 7d ff fe fd |T..2qETB|L..2}...|
|00003350| fc fb fa f9 f8 f0 f1 f2 | f3 f4 f5 f6 f7 00 00 00 |........|........|
|00003360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003380| 00 00 01 00 00 00 02 9c | 00 00 01 9c 00 00 00 86 |........|........|
|00003390| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000033a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000033b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000033c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000033d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000033e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000033f0| 00 16 00 00 00 16 00 08 | 00 54 00 69 00 6d 00 62 |........|.T.i.m.b|
|00003400| 00 75 00 6b 00 74 00 75 | 00 01 00 00 00 00 00 02 |.u.k.t.u|........|
|00003410| 00 00 19 98 b0 bd c6 8f | b0 bd c6 94 00 00 00 00 |........|........|
|00003420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003440| 01 00 ff ff ff ff 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003450| 00 00 00 00 00 00 17 54 | 00 00 00 00 00 00 00 00 |.......T|........|
|00003460| 00 22 00 00 00 16 00 0e | 00 54 00 72 00 61 00 63 |."......|.T.r.a.c|
|00003470| 00 6b 00 70 00 61 00 64 | 00 20 00 50 00 72 00 65 |.k.p.a.d|. .P.r.e|
|00003480| 00 00 00 ff 46 49 46 4f | 20 50 61 74 65 6e 74 20 |....FIFO| Patent |
|00003490| 48 61 63 6b 0d 0d 0d 4d | 61 72 6b 20 44 2e 20 52 |Hack...M|ark D. R|
|000034a0| 75 73 74 61 64 0d 0d 57 | 68 69 6c 65 20 77 6f 72 |ustad..W|hile wor|
|000034b0| 6b 69 6e 67 20 66 6f 72 | 20 41 70 70 6c 65 2c 20 |king for| Apple, |
|000034c0| 49 20 61 70 70 6c 69 65 | 64 20 66 6f 72 2c 20 61 |I applie|d for, a|
|000034d0| 6e 64 20 77 61 73 20 67 | 72 61 6e 74 65 64 20 74 |nd was g|ranted t|
|000034e0| 77 6f 20 70 61 74 65 6e | 74 73 2e 20 54 68 65 20 |wo paten|ts. The |
|000034f0| 73 65 63 6f 6e 64 20 70 | 61 74 65 6e 74 2c 20 23 |second p|atent, #|
|00003500| 35 2c 36 37 31 2c 34 34 | 36 2c 20 69 73 20 61 20 |5,671,44|6, is a |
|00003510| 6d 65 74 68 6f 64 20 66 | 6f 72 20 61 74 6f 6d 69 |method f|or atomi|
|00003520| 63 61 6c 6c 79 20 61 63 | 63 65 73 73 69 6e 67 20 |cally ac|cessing |
|00003530| 61 20 46 49 46 4f 20 71 | 75 65 75 65 2e 20 49 74 |a FIFO q|ueue. It|
|00003540| 20 69 73 20 67 65 6e 65 | 72 61 6c 20 65 6e 6f 75 | is gene|ral enou|
|00003550| 67 68 20 74 6f 20 70 65 | 72 6d 69 74 20 6d 75 6c |gh to pe|rmit mul|
|00003560| 74 69 70 6c 65 20 65 6e | 71 75 65 75 65 72 73 20 |tiple en|queuers |
|00003570| 61 6e 64 20 6d 75 6c 74 | 69 70 6c 65 20 64 65 71 |and mult|iple deq|
|00003580| 75 65 75 00 00 00 11 46 | 49 46 4f 20 50 61 74 65 |ueu....F|IFO Pate|
|00003590| 6e 74 20 48 61 63 6b 00 | 00 00 00 0c 4d 61 72 6b |nt Hack.|....Mark|
|000035a0| 20 52 75 73 74 61 64 00 | 00 00 00 0e 00 02 06 70 | Rustad.|.......p|
|000035b0| 61 74 65 6e 74 04 46 49 | 46 4f 00 00 00 4a b3 99 |atent.FI|FO...J..|
|000035c0| 52 29 00 00 54 45 58 54 | 03 e8 00 03 b3 99 52 29 |R)..TEXT|......R)|
|000035d0| 54 69 74 6c 54 45 58 54 | 03 e9 00 00 00 00 00 00 |TitlTEXT|........|
|000035e0| b3 99 52 29 41 75 74 68 | 54 45 58 54 03 ea 00 00 |..R)Auth|TEXT....|
|000035f0| 00 00 00 00 b3 99 52 29 | 4b 65 79 57 53 54 52 23 |......R)|KeyWSTR#|
|00003600| 03 ec 00 00 00 00 00 00 | 00 00 00 10 0f 43 6c 61 |........|.....Cla|
|00003610| 72 69 73 57 6f 72 6b 73 | 20 35 2e 30 00 00 01 00 |risWorks| 5.0....|
|00003620| 00 00 02 9c 00 00 01 9c | 00 00 00 86 04 1d a5 10 |........|........|
|00003630| 3f 88 00 00 00 1c 00 86 | 00 03 54 45 58 54 00 02 |?.......|..TEXT..|
|00003640| 00 22 53 54 52 23 00 00 | 00 46 70 6e 6f 74 00 00 |."STR#..|.Fpnot..|
|00003650| 00 52 53 54 52 20 00 00 | 00 5e 03 e8 ff ff 00 00 |.RSTR ..|.^......|
|00003660| 00 00 04 1d a0 ac 03 e9 | ff ff 00 00 01 03 00 00 |........|........|
|00003670| 00 00 03 ea ff ff 00 00 | 01 18 00 00 00 00 03 ec |........|........|
|00003680| ff ff 00 00 01 28 04 1d | 9f f4 00 00 ff ff 00 00 |.....(..|........|
|00003690| 01 3a 04 1d a0 40 bf f4 | ff ff 00 00 01 88 04 1d |.:...@..|........|
|000036a0| a0 20 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |. ......|........|
|000036b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000036c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000036d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000036e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000036f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+